package com.adcc.loadsheet.monitor.vo;

import com.adcc.loadsheet.monitor.entity.BaseEntity;
import com.fasterxml.jackson.core.JsonProcessingException;

import java.io.Serializable;

/**
 * 基类视图实体
 * @param <T>
 */
public abstract class BaseVO<T extends BaseEntity> implements Serializable {
    /**
     * 构造函数
     */
    public BaseVO(){

    }

    /**
     * 构造函数
     * @param entity
     */
    public BaseVO(T entity){

    }

    /**
     * 构造函数
     * @param json
     */
    public BaseVO(String json){

    }

    /**
     * 将视图转换为实体
     * @return
     */
    public abstract T toEntity();

    /**
     * 将视图转换为JSON
     * @return
     */
    public abstract String toJSON() throws JsonProcessingException;
}
